package reflect;

import java.lang.reflect.Method;
import java.util.Scanner;

public class ReflectDemo1 {
    public static void main(String[] args) throws ClassNotFoundException {
        //类名.class
        //Class cls = String.class;
       // Class cls = ArrayList.class;
        //Class cls = Class.forName("java.util.ArrayList");

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个类名");
        String className = scanner.nextLine();
        Class cls = Class.forName(className);

        //获取类的完全限定名(包名.类名)
        String name = cls.getName();
        System.out.println(name);
        //获取类名
        name = cls.getSimpleName();
        System.out.println(name);
        //
        Package pack = cls.getPackage();
        System.out.println(pack.getName());//只是包名本身

//        下面打印的是 Package 对象本身的字符串表示形式。
//        实际上是调用了 pack.toString() 方法（因为 System.out.println() 在打印对象时会自动调用其 toString() 方法）。
        System.out.println(pack);//带有 package 前缀的说明性文本

        Method[] methods = cls.getMethods();
        System.out.println("一共"+methods.length+"个方法");
        for(Method method : methods){
            System.out.println(method.getName());
        }



    }
}
